/*
 * @Description: 通知公告
 * @Author: HuiSir<273250950@qq.com>
 * @Date: 2022-04-06 17:37:00
 * @LastEditTime: 2025-09-16 17:43:51
 */
import Req from "@/utils/Request";
const Prefix = "/msg";

/**
 * 按分页获取消息
 *
 * @param params 分页参数，可以是 SearchParamsByPage 对象或者页码数字
 * @returns ApiRequest 类型的请求对象
 */
export const getMsgsByPage: ApiRequest<SearchParamsByPage | number> = (
  params
) =>
  Req.get(`${Prefix}/getMsgsByPage`, {
    params:
      typeof params === "object"
        ? params
        : {
            pageNo: params,
            pageSize: 15,
          },
  });

/**
 * 获取消息详情
 *
 * @param id 消息的唯一标识符
 * @returns 返回消息详情
 */
export const getMsgDetail: ApiRequest<string> = (id) =>
  Req.get(`${Prefix}/getMsgDetail`, { params: { id } });

/**
 * 删除消息
 *
 * @param id 消息ID
 * @returns 返回值为空字符串的ApiRequest对象
 */
export const delMsg: ApiRequest<string> = (id) =>
  Req.post(`${Prefix}/delMsg`, { id });

/**
 * 通过ID读取数据的API请求函数
 *
 * @param id 需要读取的数据的ID
 * @returns 返回ApiRequest对象，包含请求方法和请求参数
 */
export const readById: ApiRequest<string> = (id) =>
  Req.post(`${Prefix}/readById`, { id });

// 全部标记已读
export const readAll: ApiRequest = () => Req.post(`${Prefix}/readAll`);
